blob: b95ff1da9674a3fbb1486d87b8067ef5baa4ceac [file] [log] [blame]
Junio C Hamano9ae1a062006-07-10 08:12:341git-svn(1)
2==========
3
4NAME
5----
Junio C Hamano7c73c662007-01-19 00:37:506git-svn - Bidirectional operation between a single Subversion branch and git
Junio C Hamano9ae1a062006-07-10 08:12:347
8SYNOPSIS
9--------
10'git-svn' <command> [options] [arguments]
11
12DESCRIPTION
13-----------
Junio C Hamanoa8d072a2007-01-05 07:46:2514git-svn is a simple conduit for changesets between Subversion and git.
15It is not to be confused with gitlink:git-svnimport[1], which is
16read-only and geared towards tracking multiple branches.
Junio C Hamano9ae1a062006-07-10 08:12:3417
Junio C Hamanoa8d072a2007-01-05 07:46:2518git-svn was originally designed for an individual developer who wants a
Junio C Hamano9ae1a062006-07-10 08:12:3419bidirectional flow of changesets between a single branch in Subversion
Junio C Hamanoa8d072a2007-01-05 07:46:2520and an arbitrary number of branches in git. Since its inception,
21git-svn has gained the ability to track multiple branches in a manner
22similar to git-svnimport; but it cannot (yet) automatically detect new
23branches and tags like git-svnimport does.
Junio C Hamano9ae1a062006-07-10 08:12:3424
Junio C Hamanoa8d072a2007-01-05 07:46:2525git-svn is especially useful when it comes to tracking repositories
26not organized in the way Subversion developers recommend (trunk,
27branches, tags directories).
Junio C Hamano9ae1a062006-07-10 08:12:3428
29COMMANDS
30--------
Junio C Hamano6b2cee12006-08-26 08:43:3131--
32
33'init'::
Junio C Hamano9ae1a062006-07-10 08:12:3434Creates an empty git repository with additional metadata
35directories for git-svn. The Subversion URL must be specified
Junio C Hamano43d01342006-10-12 04:07:3236as a command-line argument. Optionally, the target directory
37to operate on can be specified as a second argument. Normally
38this command initializes the current directory.
Junio C Hamano9ae1a062006-07-10 08:12:3439
Junio C Hamano6b2cee12006-08-26 08:43:3140'fetch'::
Junio C Hamano9ae1a062006-07-10 08:12:3441
Junio C Hamano6b2cee12006-08-26 08:43:3142Fetch unfetched revisions from the Subversion URL we are
43tracking. refs/remotes/git-svn will be updated to the
44latest revision.
Junio C Hamano9ae1a062006-07-10 08:12:3445
Junio C Hamano6b2cee12006-08-26 08:43:3146Note: You should never attempt to modify the remotes/git-svn
47branch outside of git-svn. Instead, create a branch from
Junio C Hamanoa3e46262006-11-29 07:59:4048remotes/git-svn and work on that branch. Use the 'dcommit'
Junio C Hamano6b2cee12006-08-26 08:43:3149command (see below) to write git commits back to
50remotes/git-svn.
Junio C Hamano9ae1a062006-07-10 08:12:3451
Junio C Hamano6b2cee12006-08-26 08:43:3152See '<<fetch-args,Additional Fetch Arguments>>' if you are interested in
53manually joining branches on commit.
54
55'dcommit'::
Junio C Hamano79770b62007-01-07 07:43:5856Commit each diff from a specified head directly to the SVN
Junio C Hamano6b2cee12006-08-26 08:43:3157repository, and then rebase or reset (depending on whether or
Junio C Hamano79770b62007-01-07 07:43:5858not there is a diff between SVN and head). This will create
59a revision in SVN for each commit in git.
60It is recommended that you run git-svn fetch and rebase (not
61pull or merge) your commits against the latest changes in the
62SVN repository.
Junio C Hamano511162f2006-12-13 06:35:4863An optional command-line argument may be specified as an
64alternative to HEAD.
Junio C Hamano4bf6dca2006-12-21 02:25:5765This is advantageous over 'set-tree' (below) because it produces
Junio C Hamano6b2cee12006-08-26 08:43:3166cleaner, more linear history.
67
Junio C Hamano43d01342006-10-12 04:07:3268'log'::
69This should make it easy to look up svn log messages when svn
70users refer to -r/--revision numbers.
71
72The following features from `svn log' are supported:
73
74--revision=<n>[:<n>] - is supported, non-numeric args are not:
75 HEAD, NEXT, BASE, PREV, etc ...
76-v/--verbose - it's not completely compatible with
77 the --verbose output in svn log, but
78 reasonably close.
79--limit=<n> - is NOT the same as --max-count,
80 doesn't count merged/excluded commits
81--incremental - supported
82
83New features:
84
85--show-commit - shows the git commit sha1, as well
86--oneline - our version of --pretty=oneline
87
88Any other arguments are passed directly to `git log'
89
Junio C Hamano4bf6dca2006-12-21 02:25:5790'set-tree'::
Junio C Hamano43d01342006-10-12 04:07:3291You should consider using 'dcommit' instead of this command.
Junio C Hamano9ae1a062006-07-10 08:12:3492Commit specified commit or tree objects to SVN. This relies on
93your imported fetch data being up-to-date. This makes
94absolutely no attempts to do patching when committing to SVN, it
95simply overwrites files with those specified in the tree or
96commit. All merging is assumed to have taken place
97independently of git-svn functions.
98
Junio C Hamano6b2cee12006-08-26 08:43:3199'rebuild'::
Junio C Hamano9ae1a062006-07-10 08:12:34100Not a part of daily usage, but this is a useful command if
Junio C Hamano6b2cee12006-08-26 08:43:31101you've just cloned a repository (using gitlink:git-clone[1]) that was
Junio C Hamano9ae1a062006-07-10 08:12:34102tracked with git-svn. Unfortunately, git-clone does not clone
103git-svn metadata and the svn working tree that git-svn uses for
104its operations. This rebuilds the metadata so git-svn can
105resume fetch operations. A Subversion URL may be optionally
106specified at the command-line if the directory/repository you're
107tracking has moved or changed protocols.
108
Junio C Hamano6b2cee12006-08-26 08:43:31109'show-ignore'::
Junio C Hamano9ae1a062006-07-10 08:12:34110Recursively finds and lists the svn:ignore property on
111directories. The output is suitable for appending to
112the $GIT_DIR/info/exclude file.
113
Junio C Hamano43d01342006-10-12 04:07:32114'commit-diff'::
115Commits the diff of two tree-ish arguments from the
Junio C Hamanof9771f62007-01-17 17:42:30116command-line. This command is intended for interoperability with
Junio C Hamano43d01342006-10-12 04:07:32117git-svnimport and does not rely on being inside an git-svn
118init-ed repository. This command takes three arguments, (a) the
119original tree to diff against, (b) the new tree result, (c) the
120URL of the target Subversion repository. The final argument
121(URL) may be omitted if you are working from a git-svn-aware
122repository (that has been init-ed with git-svn).
Junio C Hamano23db8852006-11-09 23:35:53123The -r<revision> option is required for this.
Junio C Hamano43d01342006-10-12 04:07:32124
125'graft-branches'::
126This command attempts to detect merges/branches from already
127imported history. Techniques used currently include regexes,
128file copies, and tree-matches). This command generates (or
129modifies) the $GIT_DIR/info/grafts file. This command is
130considered experimental, and inherently flawed because
131merge-tracking in SVN is inherently flawed and inconsistent
132across different repositories.
133
134'multi-init'::
135This command supports git-svnimport-like command-line syntax for
136importing repositories that are layed out as recommended by the
137SVN folks. This is a bit more tolerant than the git-svnimport
138command-line syntax and doesn't require the user to figure out
139where the repository URL ends and where the repository path
140begins.
141
Junio C Hamanofc4d38c2007-01-08 06:53:32142-T<trunk_subdir>::
143--trunk=<trunk_subdir>::
144-t<tags_subdir>::
145--tags=<tags_subdir>::
146-b<branches_subdir>::
147--branches=<branches_subdir>::
148These are the command-line options for multi-init. Each of
149these flags can point to a relative repository path
150(--tags=project/tags') or a full url
151(--tags=https://foo.org/project/tags)
152
153--prefix=<prefix>
154This allows one to specify a prefix which is prepended to the
155names of remotes. The prefix does not automatically include a
156trailing slash, so be sure you include one in the argument if
157that is what you want. This is useful if you wish to track
158multiple projects that share a common repository.
159
Junio C Hamano43d01342006-10-12 04:07:32160'multi-fetch'::
161This runs fetch on all known SVN branches we're tracking. This
162will NOT discover new branches (unlike git-svnimport), so
163multi-init will need to be re-run (it's idempotent).
164
Junio C Hamano6b2cee12006-08-26 08:43:31165--
166
Junio C Hamano9ae1a062006-07-10 08:12:34167OPTIONS
168-------
Junio C Hamano6b2cee12006-08-26 08:43:31169--
170
Junio C Hamano43d01342006-10-12 04:07:32171--shared::
172--template=<template_directory>::
173Only used with the 'init' command.
Junio C Hamano24351a82007-01-13 08:09:17174These are passed directly to gitlink:git-init[1].
Junio C Hamano43d01342006-10-12 04:07:32175
Junio C Hamano9ae1a062006-07-10 08:12:34176-r <ARG>::
177--revision <ARG>::
Junio C Hamano9ae1a062006-07-10 08:12:34178
Junio C Hamano6b2cee12006-08-26 08:43:31179Only used with the 'fetch' command.
Junio C Hamano9ae1a062006-07-10 08:12:34180
Junio C Hamano6b2cee12006-08-26 08:43:31181Takes any valid -r<argument> svn would accept and passes it
182directly to svn. -r<ARG1>:<ARG2> ranges and "{" DATE "}" syntax
183is also supported. This is passed directly to svn, see svn
184documentation for more details.
185
186This can allow you to make partial mirrors when running fetch.
Junio C Hamano9ae1a062006-07-10 08:12:34187
188-::
189--stdin::
Junio C Hamano9ae1a062006-07-10 08:12:34190
Junio C Hamano4bf6dca2006-12-21 02:25:57191Only used with the 'set-tree' command.
Junio C Hamano6b2cee12006-08-26 08:43:31192
193Read a list of commits from stdin and commit them in reverse
194order. Only the leading sha1 is read from each line, so
195git-rev-list --pretty=oneline output can be used.
Junio C Hamano9ae1a062006-07-10 08:12:34196
197--rmdir::
Junio C Hamano9ae1a062006-07-10 08:12:34198
Junio C Hamano4bf6dca2006-12-21 02:25:57199Only used with the 'dcommit', 'set-tree' and 'commit-diff' commands.
Junio C Hamano9ae1a062006-07-10 08:12:34200
Junio C Hamano6b2cee12006-08-26 08:43:31201Remove directories from the SVN tree if there are no files left
202behind. SVN can version empty directories, and they are not
203removed by default if there are no files left in them. git
204cannot version empty directories. Enabling this flag will make
205the commit to SVN act like git.
206
207repo-config key: svn.rmdir
Junio C Hamano9ae1a062006-07-10 08:12:34208
209-e::
210--edit::
Junio C Hamano9ae1a062006-07-10 08:12:34211
Junio C Hamano4bf6dca2006-12-21 02:25:57212Only used with the 'dcommit', 'set-tree' and 'commit-diff' commands.
Junio C Hamano9ae1a062006-07-10 08:12:34213
Junio C Hamano6b2cee12006-08-26 08:43:31214Edit the commit message before committing to SVN. This is off by
215default for objects that are commits, and forced on when committing
216tree objects.
217
218repo-config key: svn.edit
Junio C Hamano9ae1a062006-07-10 08:12:34219
220-l<num>::
221--find-copies-harder::
Junio C Hamano9ae1a062006-07-10 08:12:34222
Junio C Hamano4bf6dca2006-12-21 02:25:57223Only used with the 'dcommit', 'set-tree' and 'commit-diff' commands.
Junio C Hamano9ae1a062006-07-10 08:12:34224
Junio C Hamano6b2cee12006-08-26 08:43:31225They are both passed directly to git-diff-tree see
226gitlink:git-diff-tree[1] for more information.
227
228[verse]
229repo-config key: svn.l
230repo-config key: svn.findcopiesharder
Junio C Hamano9ae1a062006-07-10 08:12:34231
232-A<filename>::
233--authors-file=<filename>::
234
Junio C Hamano6b2cee12006-08-26 08:43:31235Syntax is compatible with the files used by git-svnimport and
236git-cvsimport:
Junio C Hamano9ae1a062006-07-10 08:12:34237
238------------------------------------------------------------------------
Junio C Hamano6b2cee12006-08-26 08:43:31239loginname = Joe User <user@example.com>
Junio C Hamano9ae1a062006-07-10 08:12:34240------------------------------------------------------------------------
241
Junio C Hamano6b2cee12006-08-26 08:43:31242If this option is specified and git-svn encounters an SVN
243committer name that does not exist in the authors-file, git-svn
244will abort operation. The user will then have to add the
245appropriate entry. Re-running the previous git-svn command
246after the authors-file is modified should continue operation.
Junio C Hamano9ae1a062006-07-10 08:12:34247
Junio C Hamano43d01342006-10-12 04:07:32248repo-config key: svn.authorsfile
249
250-q::
251--quiet::
Junio C Hamanodeab0362007-01-10 05:05:11252Make git-svn less verbose.
Junio C Hamano43d01342006-10-12 04:07:32253
254--repack[=<n>]::
255--repack-flags=<flags>
256These should help keep disk usage sane for large fetches
257with many revisions.
258
259--repack takes an optional argument for the number of revisions
260to fetch before repacking. This defaults to repacking every
2611000 commits fetched if no argument is specified.
262
263--repack-flags are passed directly to gitlink:git-repack[1].
264
265repo-config key: svn.repack
266repo-config key: svn.repackflags
Junio C Hamano6b2cee12006-08-26 08:43:31267
268-m::
269--merge::
270-s<strategy>::
271--strategy=<strategy>::
272
273These are only used with the 'dcommit' command.
274
275Passed directly to git-rebase when using 'dcommit' if a
276'git-reset' cannot be used (see dcommit).
277
278-n::
279--dry-run::
280
281This is only used with the 'dcommit' command.
282
283Print out the series of git arguments that would show
284which diffs would be committed to SVN.
285
286--
Junio C Hamano9ae1a062006-07-10 08:12:34287
288ADVANCED OPTIONS
289----------------
Junio C Hamano6b2cee12006-08-26 08:43:31290--
291
Junio C Hamano9ae1a062006-07-10 08:12:34292-b<refname>::
293--branch <refname>::
Junio C Hamano4bf6dca2006-12-21 02:25:57294Used with 'fetch', 'dcommit' or 'set-tree'.
Junio C Hamano9ae1a062006-07-10 08:12:34295
Junio C Hamano6b2cee12006-08-26 08:43:31296This can be used to join arbitrary git branches to remotes/git-svn
297on new commits where the tree object is equivalent.
Junio C Hamano9ae1a062006-07-10 08:12:34298
Junio C Hamano6b2cee12006-08-26 08:43:31299When used with different GIT_SVN_ID values, tags and branches in
300SVN can be tracked this way, as can some merges where the heads
301end up having completely equivalent content. This can even be
302used to track branches across multiple SVN _repositories_.
Junio C Hamano9ae1a062006-07-10 08:12:34303
Junio C Hamano6b2cee12006-08-26 08:43:31304This option may be specified multiple times, once for each
305branch.
Junio C Hamano9ae1a062006-07-10 08:12:34306
Junio C Hamano6b2cee12006-08-26 08:43:31307repo-config key: svn.branch
Junio C Hamano9ae1a062006-07-10 08:12:34308
309-i<GIT_SVN_ID>::
310--id <GIT_SVN_ID>::
Junio C Hamano6b2cee12006-08-26 08:43:31311
312This sets GIT_SVN_ID (instead of using the environment). See the
313section on
314'<<tracking-multiple-repos,Tracking Multiple Repositories or Branches>>'
315for more information on using GIT_SVN_ID.
316
Junio C Hamano43d01342006-10-12 04:07:32317--follow-parent::
318This is especially helpful when we're tracking a directory
319that has been moved around within the repository, or if we
320started tracking a branch and never tracked the trunk it was
321descended from.
322
Junio C Hamano43d01342006-10-12 04:07:32323repo-config key: svn.followparent
324
325--no-metadata::
326This gets rid of the git-svn-id: lines at the end of every commit.
327
328With this, you lose the ability to use the rebuild command. If
329you ever lose your .git/svn/git-svn/.rev_db file, you won't be
330able to fetch again, either. This is fine for one-shot imports.
331
332The 'git-svn log' command will not work on repositories using this,
333either.
334
335repo-config key: svn.nometadata
336
Junio C Hamano6b2cee12006-08-26 08:43:31337--
Junio C Hamano9ae1a062006-07-10 08:12:34338
339COMPATIBILITY OPTIONS
340---------------------
Junio C Hamano6b2cee12006-08-26 08:43:31341--
Junio C Hamano9ae1a062006-07-10 08:12:34342
Junio C Hamano6b2cee12006-08-26 08:43:31343--upgrade::
344Only used with the 'rebuild' command.
345
346Run this if you used an old version of git-svn that used
347"git-svn-HEAD" instead of "remotes/git-svn" as the branch
348for tracking the remote.
Junio C Hamano9ae1a062006-07-10 08:12:34349
Junio C Hamano47c1e3c2006-09-25 04:45:55350--ignore-nodate::
351Only used with the 'fetch' command.
352
353By default git-svn will crash if it tries to import a revision
354from SVN which has '(no date)' listed as the date of the revision.
355This is repository corruption on SVN's part, plain and simple.
356But sometimes you really need those revisions anyway.
357
358If supplied git-svn will convert '(no date)' entries to the UNIX
359epoch (midnight on Jan. 1, 1970). Yes, that's probably very wrong.
360SVN was very wrong.
361
Junio C Hamano6b2cee12006-08-26 08:43:31362--
Junio C Hamano9ae1a062006-07-10 08:12:34363
364Basic Examples
365~~~~~~~~~~~~~~
366
Junio C Hamanoa8d072a2007-01-05 07:46:25367Tracking and contributing to a the trunk of a Subversion-managed project:
Junio C Hamano9ae1a062006-07-10 08:12:34368
369------------------------------------------------------------------------
Junio C Hamano24351a82007-01-13 08:09:17370# Initialize a repo (like git init):
Junio C Hamano9ae1a062006-07-10 08:12:34371git-svn init http://svn.foo.org/project/trunk
372# Fetch remote revisions:
373git-svn fetch
374# Create your own branch to hack on:
375git checkout -b my-branch remotes/git-svn
Junio C Hamanoa3e46262006-11-29 07:59:40376# Do some work, and then commit your new changes to SVN, as well as
377# automatically updating your working HEAD:
378git-svn dcommit
Junio C Hamano6b2cee12006-08-26 08:43:31379# Something is committed to SVN, rebase the latest into your branch:
380git-svn fetch && git rebase remotes/git-svn
Junio C Hamano9ae1a062006-07-10 08:12:34381# Append svn:ignore settings to the default git exclude file:
382git-svn show-ignore >> .git/info/exclude
383------------------------------------------------------------------------
384
Junio C Hamanoa8d072a2007-01-05 07:46:25385Tracking and contributing to an entire Subversion-managed project
386(complete with a trunk, tags and branches):
387See also:
388'<<tracking-multiple-repos,Tracking Multiple Repositories or Branches>>'
389
390------------------------------------------------------------------------
Junio C Hamano24351a82007-01-13 08:09:17391# Initialize a repo (like git init):
Junio C Hamanoa8d072a2007-01-05 07:46:25392git-svn multi-init http://svn.foo.org/project \
393-T trunk -b branches -t tags
394# Fetch remote revisions:
395git-svn multi-fetch
396# Create your own branch of trunk to hack on:
397git checkout -b my-trunk remotes/trunk
398# Do some work, and then commit your new changes to SVN, as well as
399# automatically updating your working HEAD:
400git-svn dcommit -i trunk
401# Something has been committed to trunk, rebase the latest into your branch:
402git-svn multi-fetch && git rebase remotes/trunk
403# Append svn:ignore settings of trunk to the default git exclude file:
404git-svn show-ignore -i trunk >> .git/info/exclude
405# Check for new branches and tags (no arguments are needed):
406git-svn multi-init
407------------------------------------------------------------------------
408
Junio C Hamano79770b62007-01-07 07:43:58409REBASE VS. PULL/MERGE
410---------------------
Junio C Hamano6b2cee12006-08-26 08:43:31411
412Originally, git-svn recommended that the remotes/git-svn branch be
Junio C Hamano79770b62007-01-07 07:43:58413pulled or merged from. This is because the author favored
414'git-svn set-tree B' to commit a single head rather than the
415'git-svn set-tree A..B' notation to commit multiple commits.
Junio C Hamano6b2cee12006-08-26 08:43:31416
Junio C Hamano79770b62007-01-07 07:43:58417If you use 'git-svn set-tree A..B' to commit several diffs and you do
418not have the latest remotes/git-svn merged into my-branch, you should
419use 'git rebase' to update your work branch instead of 'git pull' or
420'git merge'. 'pull/merge' can cause non-linear history to be flattened
421when committing into SVN, which can lead to merge commits reversing
422previous commits in SVN.
Junio C Hamano6b2cee12006-08-26 08:43:31423
Junio C Hamano9ae1a062006-07-10 08:12:34424DESIGN PHILOSOPHY
425-----------------
426Merge tracking in Subversion is lacking and doing branched development
Junio C Hamanoa3e46262006-11-29 07:59:40427with Subversion is cumbersome as a result. git-svn does not do
428automated merge/branch tracking by default and leaves it entirely up to
429the user on the git side.
Junio C Hamano9ae1a062006-07-10 08:12:34430
Junio C Hamano6b2cee12006-08-26 08:43:31431[[tracking-multiple-repos]]
Junio C Hamano9ae1a062006-07-10 08:12:34432TRACKING MULTIPLE REPOSITORIES OR BRANCHES
433------------------------------------------
Junio C Hamano9ae1a062006-07-10 08:12:34434Because git-svn does not care about relationships between different
435branches or directories in a Subversion repository, git-svn has a simple
436hack to allow it to track an arbitrary number of related _or_ unrelated
Junio C Hamanoa3e46262006-11-29 07:59:40437SVN repositories via one git repository. Simply use the --id/-i flag or
438set the GIT_SVN_ID environment variable to a name other other than
439"git-svn" (the default) and git-svn will ignore the contents of the
440$GIT_DIR/svn/git-svn directory and instead do all of its work in
441$GIT_DIR/svn/$GIT_SVN_ID for that invocation. The interface branch will
442be remotes/$GIT_SVN_ID, instead of remotes/git-svn. Any
443remotes/$GIT_SVN_ID branch should never be modified by the user outside
444of git-svn commands.
Junio C Hamano9ae1a062006-07-10 08:12:34445
Junio C Hamano6b2cee12006-08-26 08:43:31446[[fetch-args]]
Junio C Hamano9ae1a062006-07-10 08:12:34447ADDITIONAL FETCH ARGUMENTS
448--------------------------
449This is for advanced users, most users should ignore this section.
450
451Unfetched SVN revisions may be imported as children of existing commits
452by specifying additional arguments to 'fetch'. Additional parents may
453optionally be specified in the form of sha1 hex sums at the
454command-line. Unfetched SVN revisions may also be tied to particular
455git commits with the following syntax:
456
Junio C Hamano6b2cee12006-08-26 08:43:31457------------------------------------------------
Junio C Hamano9ae1a062006-07-10 08:12:34458svn_revision_number=git_commit_sha1
Junio C Hamano6b2cee12006-08-26 08:43:31459------------------------------------------------
Junio C Hamano9ae1a062006-07-10 08:12:34460
Junio C Hamano6b2cee12006-08-26 08:43:31461This allows you to tie unfetched SVN revision 375 to your current HEAD:
Junio C Hamano9ae1a062006-07-10 08:12:34462
Junio C Hamano6b2cee12006-08-26 08:43:31463------------------------------------------------
464git-svn fetch 375=$(git-rev-parse HEAD)
465------------------------------------------------
Junio C Hamano9ae1a062006-07-10 08:12:34466
Junio C Hamano9ae1a062006-07-10 08:12:34467If you're tracking a directory that has moved, or otherwise been
468branched or tagged off of another directory in the repository and you
Junio C Hamanodeab0362007-01-10 05:05:11469care about the full history of the project, then you can use
470the --follow-parent option.
Junio C Hamano9ae1a062006-07-10 08:12:34471
Junio C Hamanodeab0362007-01-10 05:05:11472------------------------------------------------
473git-svn fetch --follow-parent
474------------------------------------------------
Junio C Hamano9ae1a062006-07-10 08:12:34475
476BUGS
477----
Junio C Hamano43d01342006-10-12 04:07:32478
Junio C Hamano9ae1a062006-07-10 08:12:34479We ignore all SVN properties except svn:executable. Too difficult to
480map them since we rely heavily on git write-tree being _exactly_ the
481same on both the SVN and git working trees and I prefer not to clutter
482working trees with metadata files.
483
Junio C Hamano9ae1a062006-07-10 08:12:34484Renamed and copied directories are not detected by git and hence not
485tracked when committing to SVN. I do not plan on adding support for
486this as it's quite difficult and time-consuming to get working for all
487the possible corner cases (git doesn't do it, either). Renamed and
488copied files are fully supported if they're similar enough for git to
489detect them.
490
Junio C Hamano6b2cee12006-08-26 08:43:31491SEE ALSO
492--------
493gitlink:git-rebase[1]
494
Junio C Hamano9ae1a062006-07-10 08:12:34495Author
496------
497Written by Eric Wong <normalperson@yhbt.net>.
498
499Documentation
500-------------
501Written by Eric Wong <normalperson@yhbt.net>.